The present invention relates to computer interfaces. In particular, the present invention relates computer display interfaces.
For some time, personal computers have been used to construct and display three-dimensional environments on two-dimensional display screens. Such displayed environments are common in many types of games such as flight simulators, driving simulators, and role-playing adventure games. Recently, there has been interest in providing a three-dimensional computerized desktop that allows the user to manipulate files, activate applications, and traverse networks such as the Internet.
Within such a three-dimensional environment, the user is modeled as a camera mounted in a vehicle that can move along and/or above the landscape of the environment. In some applications, the vehicle is invisible, in other applications a portion of the vehicle can be seen through the view provided by the camera.
To navigate through the three-dimensional environment, the user manipulates a set of controls to move the vehicle. For example, the user may move a computer mouse forward, backward, left and right to move the vehicle in those directions along the three-dimensional landscape. In other applications, a button or wheel controls the speed of the vehicle and a joystick, steering wheel, or mouse controls the direction that the vehicle travels. In three-dimensional desktop applications, a two-dimensional graphical user interface is often provided at the bottom of the display. By selecting one of the directional control buttons displayed in the interface, the user can control the direction the vehicle moves. Such an interface allows the user to select items in the three-dimensional environment with their mouse without moving the vehicle.
Occasionally, a user will want to link an object to the vehicle so that the object moves with the vehicle as the vehicle moves through the landscape. This object can either be an object the user finds in the three-dimensional environment or a set of tools provided by some application. In one system of the prior art, such linking allows an object displayed in the three-dimensional environment to move with the vehicle. (See Robertson et al., xe2x80x9cFix and Float Object Movement by Egocentric Navigationxe2x80x9d, USER INTERFACE SOFTWARE AND TECHNOLOGY, pp. 149-150, 1997). However, the selected object remains in the displayed view while it is being moved. This obstructs the view provided to the user for navigation and limits the actions the user can perform while they are navigating through the environment.
In another prior art system, a set of two-dimensional tool icons travel with the user. (See the adventure game xe2x80x9cGoosebumps: Escape from Horrorlandxe2x80x9d by Dreamworks Interactive, 1996). The two-dimensional tool icons represent tools that the user""s character may carry and use during the game. During normal navigation through the environment, the tool icons cannot be seen. However, if the user moves the display cursor to the bottom of the screen, the three-dimensional landscape shifts upward to expose a two-dimensional surface containing two-dimensional tool icons. When the user selects an icon, the tool represented by that icon is automatically placed in the character""s hand and the tool that was in the character""s hand is removed. When the user moves the cursor to the top of the screen, the two-dimensional surface disappears. This prior art system does not allow the user to move objects around on the tool surface. In addition, the user is not able to drag-and-drop a tool from the two-dimensional tool surface into the three-dimensional environment.
In elaborate Virtual Reality (VR) systems, where multiple sensors are actually attached to the user, the problem of carrying objects in a three-dimensional environment has been addressed by providing storage areas that are tied to the user""s virtual vehicle. Examples include tool pallets that attach to the user""s virtual hand and allow the user to add and modify objects on the pallet. Other examples include miniature models of a three-dimensional environment that are held in the user""s hand. By manipulating objects in the model, their counterpart in the environment is moved in the same manner. Objects from within the miniature model can also be dragged from the model to the environment.
To achieve these functions, Virtual Reality systems rely on a large number of sensor inputs and a complex control system. These inputs include head mounted sensors that measure the three-dimensional position and rotation of the user""s head. The inputs also include sensory inputs on the hand that determine the location of the user""s hand in space and whether the hand is opened or closed. Since these complex inputs are not available in most personal computers, there is currently no practical way to directly apply the three-dimensional object manipulation and navigation controls found in Virtual Reality systems to a personal computer system without the addition of expensive and exotic hardware.
A method and a computer-readable medium are provided for generating an interface in a personal computer system. The method includes displaying a primary view of a three-dimensional environment from the egocentric perspective of a virtual person in the environment. A glancing function is then performed that generates animated movement on the display to reveal a three-dimensional tool space that is normally hidden from view. In one embodiment, the three-dimensional tool space moves with or is linked to the virtual person""s body so that it travels through the environment with the virtual body. In other embodiments, the tool space is associated with an object in the three-dimensional environment.